![]() | ![]() | ![]() | ![]() |
In SAS Merchandise Allocation, the following session failover error might occur in a clustered tcServer environment:
org.apache.catalina.ha.session.DeltaManager.requestCompleted Unable to serialize delta request for sessionid [0D94B0FA153F687C366C03C6DC024E8D.tcServerTwo] java.io.NotSerializableException: com.marketmax.hiersearch.HierSearchData at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1528) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1493) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1416) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:346) at org.apache.catalina.ha.session.DeltaRequest$AttributeInfo.writeExternal(DeltaRequest.java:392) at org.apache.catalina.ha.session.DeltaRequest.writeExternal(DeltaRequest.java:285) at org.apache.catalina.ha.session.DeltaRequest.serialize(DeltaRequest.java:299) at org.apache.catalina.ha.session.DeltaManager.serializeDeltaRequest(DeltaManager.java:623) at org.apache.catalina.ha.session.DeltaManager.requestCompleted(DeltaManager.java:1066) at org.apache.catalina.ha.session.DeltaManager.requestCompleted(DeltaManager.java:1031) at org.apache.catalina.ha.tcp.ReplicationValve.send(ReplicationValve.java:522) at org.apache.catalina.ha.tcp.ReplicationValve.sendMessage(ReplicationValve.java:509) at org.apache.catalina.ha.tcp.ReplicationValve.sendSessionReplicationMessage(ReplicationValve.java:491) at org.apache.catalina.ha.tcp.ReplicationValve.sendReplicationMessage(ReplicationValve.java:404) at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:349) at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:219) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:722)
The workaround for this issue is to comment out the Manager className element in the context.xml file located in /tcServerNumber/conf for each SAS® Web Application Server instance as indicated below:
<!—- Disabled based on SAS Note 56205. <Manager className="org.apache.catalina.ha.session.DeltaManager"/> -->
Product Family | Product | System | Product Release | SAS Release | ||
Reported | Fixed* | Reported | Fixed* | |||
SAS System | SAS Merchandise Allocation | Microsoft Windows Server 2008 R2 | 3.5_M1 | 3.5_M1 | 9.4 TS1M2 | 9.4 TS1M2 |
64-bit Enabled AIX | 3.5_M1 | 3.5_M1 | 9.4 TS1M2 | 9.4 TS1M2 | ||
Linux for x64 | 3.5_M1 | 3.5_M1 | 9.4 TS1M2 | 9.4 TS1M2 |